﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JeuDeDames;

namespace JeuDeDames
{

    public abstract class Piece
    {
        public const int BLANC = -1;
        public const int NOIR = 1;

        public int couleur;  // -1=blancs; 1=noirs;
        public Joueur joueur; // Humain ou Computer
        //public bool peutBouger;
        public int position;    // case où se situe la piece. Cette info sert à exécuter les fonctions spécifiques aux dames et pions
        public bool pion;   // true si pion, false si dame.


        public abstract void mange(Coup coup); //cette méthode vas permettre aux dames et aux pions de manger
        public abstract int direction(CaseNoire caseDestination); //cette méthode vas calculer la direction du mouvement d'une dame ou d'un pion
        public abstract bool estDeplaceable(CaseNoire caseDestination); //cette méthode vas vérifier que le déplacement de la dame ou du pion est possible
        public abstract bool estMangeable(CaseNoire destination); //cette méthode vas vérifier que la tentative de mangage d'une dame ou d'un pion est possible
        public abstract int caseAManger(CaseNoire destination); //cette méthode vas calculer à partir des informations entrées par l'utilisateur quelle case se verra manger son pion
        public override abstract string ToString(); //cette méthode permet l'affichage des pions et dames sur le damier
        public abstract int deplacementOuMangeage(CaseNoire origine, CaseNoire destination); //cette méthode vas regarder si le mouvement du joueur est un mangeage ou un deplacement

    }
}
